# 绘制随机漫步图
import matplotlib.pyplot as plt

from random_walk import RandomWalk

# 创建RandomWalk实例
#rw = RandomWalk()
#rw.fill_walk()
# 将所有的点都绘制出来
#plt.style.use("seaborn-v0_8-dark")
#fig, ax = plt.subplots()
#ax.scatter(rw.x_values, rw.y_values, s=15)
#plt.show()

# 只要程序处于活动状态，就不断地模拟随机漫步
while True:
    # 创建一个RandomWalk实例
    #rw = RandomWalk()
    # 增加点数
    rw = RandomWalk(50000)
    rw.fill_walk()
    # 将所有的点都绘制出来
    #plt.style.use("seaborn-v0_8-dark")
    plt.style.use("classic")
    #fig, ax = plt.subplots()
    # 调整显示尺寸
    fig, ax = plt.subplots(figsize=(30,18))
    #ax.scatter(rw.x_values, rw.y_values, s=5)
    point_number = range(rw.num_points)
    ax.scatter(rw.x_values, rw.y_values, c=point_number, cmap=plt.cm.Blues, edgecolors='none', s=1)
    # 突出起点和终点
    ax.scatter(0, 0, c='green', edgecolors='none', s=50)
    ax.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=50)
    # 隐藏坐标轴
    ax.get_xaxis().set_visible(False)
    ax.get_yaxis().set_visible(False)
    plt.show()

    keep_running = input("Make another walk?(y/n):")
    if keep_running == 'n':
        break